package com.tsj.spzx.product.service;

import com.github.pagehelper.PageInfo;
import com.tsj.spzx.model.dto.h5.ProductSkuDto;
import com.tsj.spzx.model.dto.product.SkuSaleDto;
import com.tsj.spzx.model.entity.product.ProductSku;
import com.tsj.spzx.model.vo.h5.ProductItemVo;

import java.util.List;

public interface ProductService {

    /**
     * 从product_sku表，查询畅销商品
     * @return
     */
    List<ProductSku> findProductBySale();


    /**
     * 根据条件，分页查询商品数据
     * @param page
     * @param limit
     * @param productSkuDto
     * @return
     */
    PageInfo<ProductSku> findProductByPage(Integer page, Integer limit, ProductSkuDto productSkuDto);

    /**
     * 根据skuId查询商品详情
     * @param skuId
     * @return
     */
    ProductItemVo findProductBySkuId(Long skuId);

    /**
     * 根据skuId查询sku信息
     * @param skuId
     * @return
     */
    ProductSku getBySkuId(Long skuId);

    /**
     * 根据skuIdList查询sku信息
     * @param skuIdList
     * @return
     */
    List<ProductSku> findProductBySkuIdList(List<Long> skuIdList);

    /**
     * 支付成功后修改商品Sku信息
     * @param skuSaleDtoList
     */
    void updateProductSku(List<SkuSaleDto> skuSaleDtoList);

}
